// pages/occult-detail/occult-detail.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isLike:false,
    isCollect:false,
    isHidden:true,
    comments:[],
    num:0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    let id = options.id
    this.setData({
      id:id,
    })
    // 发起请求 获取唯一id对应的数据项内容
    // 写入detail进行渲染
    if(!id){
      this.setData({
        errText:"没有id,请传递id重新获取"
      })
      return
    }else{
      wx.request({
        url: "http://localhost:3000/occult/detail?id="+id,
        success:res=>{
          this.setData({
            errText:'',
            detail:res.data[0],
            num:res.data[0].num
          })
        },
        fail:err=>{
          this.setData({
            errText:err.message || '获取失败'
          })
        }
      })

      //该用户是否已经喜欢此内容
      wx.request({
        url: `http://localhost:3000/occult/like`,
        method:'POST',
        data:{
          user_id:wx.getStorageSync('openid'),
          occult_id:this.data.id
        },
        success:res=>{
          if(res.data.length==0){
            this.setData({
              isLike:false
            })
          }else{
            this.setData({
              isLike:true
            })
          }
        },
      })
    
    //该用户是否已经收藏此内容
    wx.request({
      url: `http://localhost:3000/occult/collect`,
      method:'POST',
      data:{
        user_id:wx.getStorageSync('openid'),
        occult_id:this.data.id
      },
      success:res=>{
        if(res.data.length==0){
          this.setData({
            isCollect:false
          })
        }else{
          this.setData({
            isCollect:true
          })
        }
      },
    })

      wx.request({

        url: "http://localhost:3000/comment?id="+id,
        success:res=>{
          this.setData({
            errText:'',
            comments:res.data
          })
        },
        fail:err=>{
          this.setData({
            errText:err.message || '获取失败'
          })
        }
      })
    }

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  
  doLike(){
    var user_id = wx.getStorageSync('openid');
    //如果未收藏(isLike==false)
    if(this.data.isLike==false){
      //喜欢的人数+1
      this.setData({
        num:this.data.num+1,
      })
      //发送post请求,把对应的数据(user_id,occult_id)存储到数据库中的like表中
      wx.request({

        url: `http://localhost:3000/like`,
        method:'POST',
        data:{
          user_id:wx.getStorageSync('openid'),
          occult_id:this.data.id,
          img_url:this.data.detail.url,
          title:this.data.detail.title,
        }
      })
    }
    //如果已收藏(isLike==true),删除数据库like表中对应的数据
    else{
      this.setData({
        num:this.data.num-1,
      })
      //从数据库中删除对应的user_id与occult_id
      wx.request({

        url: `http://localhost:3000/like/delete`,
        method:'POST',
        data:{
          user_id:user_id,
          occult_id:this.data.id
        }
      })
    }
    this.setData({
      isLike:!this.data.isLike,
    })
    // 更新数据,喜欢数量(num) 
    wx.request({

      url: `http://localhost:3000/like/changelike`,
        method:'POST',
        data:{
          num:this.data.num,
          id:this.data.id
        }
    })
  },

  doCollect(){

    var user_id = wx.getStorageSync('openid');
    //如果未收藏(isCollect==false)
    if(this.data.isCollect==false){

      //发送post请求,把对应的数据(user_id,occult_id)存储到数据库中的collect表中
      wx.request({

        url: `http://localhost:3000/collect`,
        method:'POST',
        data:{
          user_id:user_id,
          occult_id:this.data.id,
          img_url:this.data.detail.url,
          title:this.data.detail.title
        }
      })
    }
    //如果已收藏(isCollect==true),删除数据库like表中对应的数据
    else{
      //从数据库中删除对应的user_id与occult_id
      wx.request({

        url: `http://localhost:3000/collect/delete`,
        method:'POST',
        data:{
          user_id:user_id,
          occult_id:this.data.id
        }
      })
    }

    this.setData({
      isCollect:!this.data.isCollect
    })
    //发起PUT请求 更新数据 
    // wx.request({

    // })
  },

  doComment(){
    this.setData({
      isHidden:!this.data.isHidden
    })
  },

  bindFormSubmit: function(e) {
    if(e.detail.value.textarea){
      this.setData({
        isHidden:true
      })
      //发起POST请求 提交数据 
      wx.request({

        url: "http://localhost:3000/comment/?id="+this.data.id,
        method:"POST",
        data:{
          content:e.detail.value.textarea,
          name:wx.getStorageSync("userInfo").nickName,
          url:wx.getStorageSync("userInfo").avatarUrl
        },
        success:res=>{
          console.log(res)
        },
        fail:err=>{
          this.setData({
            errText:err.message || '提交失败'
          })
        }
      })
    }
  }
})